The invention relates to electronic devices, for example, computer systems. More particularly, the invention relates to configuration of computer systems based on specific hardware devices available to the computer system.
Current computer systems and other electronic systems are designed and manufactured with specific hardware components (e.g., audio hardware, modem hardware, video hardware). The hardware components indicate to an operating system running on the computer system what software drivers are necessary for proper functionality. For example, audio hardware can include a register that is known to the operating system. During startup of the computer system, a basic input/output system (BIOS) retrieves information from the audio hardware and stores the information in a predetermined location. The operating system checks the predetermined location and loads the corresponding software driver.
Because new software drivers are often required for new hardware, for example, because of added functionality, it is important to match the appropriate driver with the appropriate hardware. Also, for reasons of backward compatibility, many drivers may be provided by an operating system, only a few of which are actually used by the hardware of the computer system. For at least these reasons, designers and manufacturers of computer systems must design the computer systems so that hardware components communicate the functionality available to the operating system. Because of the many hardware components and software drivers, proper design of a computer system can be difficult and time consuming.